/*   time:2019-06-13 20:39:23*/
var r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    o = function(r) {
        r = r.replace(/\r\n/g, "\n");
        for (var e = "", o = 0; o < r.length; o++) {
            var t = r.charCodeAt(o);
            t < 128 ? e += String.fromCharCode(t) : (127 < t && t < 2048 ? e += String.fromCharCode(t >> 6 | 192) : (e += String.fromCharCode(t >> 12 | 224), e += String.fromCharCode(t >> 6 & 63 | 128)), e += String.fromCharCode(63 & t | 128))
        }
        return e
    }, e = function(r) {
        for (var e = "", o = 0, t = 0, a = 0, n = 0; o < r.length;)(t = r.charCodeAt(o)) < 128 ? (e += String.fromCharCode(t), o++) : 191 < t && t < 224 ? (a = r.charCodeAt(o + 1), e += String.fromCharCode((31 & t) << 6 | 63 & a), o += 2) : (a = r.charCodeAt(o + 1), n = r.charCodeAt(o + 2), e += String.fromCharCode((15 & t) << 12 | (63 & a) << 6 | 63 & n), o += 3);
        return e
    };
module.exports.encode = function(e) {
    var t, a, n, h, C, d, c, f = "",
        i = 0;
    for (e = o(e); i < e.length;) h = (t = e.charCodeAt(i++)) >> 2, C = (3 & t) << 4 | (a = e.charCodeAt(i++)) >> 4, d = (15 & a) << 2 | (n = e.charCodeAt(i++)) >> 6, c = 63 & n, isNaN(a) ? d = c = 64 : isNaN(n) && (c = 64), f = f + r.charAt(h) + r.charAt(C) + r.charAt(d) + r.charAt(c);
    return f
}, module.exports.decode = function(o) {
    var t, a, n, h, C, d, c = "",
        f = 0;
    for (o = o.replace(/[^A-Za-z0-9\+\/\=]/g, ""); f < o.length;) t = r.indexOf(o.charAt(f++)) << 2 | (h = r.indexOf(o.charAt(f++))) >> 4, a = (15 & h) << 4 | (C = r.indexOf(o.charAt(f++))) >> 2, n = (3 & C) << 6 | (d = r.indexOf(o.charAt(f++))), c += String.fromCharCode(t), 64 != C && (c += String.fromCharCode(a)), 64 != d && (c += String.fromCharCode(n));
    return e(c)
};